package com.company.java.basic.day01;
/*
基本数据类型之间的转换：
（1）自动类型转换
①把存储范围小的类型的值赋值给存储范围大的类型的变量，自动可以玩成升级
byte->short->int->long->float->double
        char->
②boolean不参与
③byte、short、char相加的结果会自动升级位int
(2)强制类型转换
①把存储范围大的类型的值赋值给存储范围小的类型的变量
double->float->long->int->short->byte
                       char->
强传有风险，超出较小的存储范围可能出错
②boolean不参与
③当需要把存储范围小的提升至范围较大的类型时，也可以用强转
*/
public class Day01_TypeChange01 {
    public static void main(String[] args) {
        //自动转换
        double age = 10;

        //强转
        System.out.println(age);
        byte b1 = 20;
        byte b2 = 20;
        //byte b3 = b1 + b2;
        // 会报错，因为byte、short、char相加的结果会自动升级位int
        byte b3 = (byte)(b1 + b2);
        System.out.println(b3);

        char c1 = 'L';
        char c2 = 'L';
        char c3 = (char) (c1 + c2);//强转有风险
        System.out.println("c3="+c3);

        //boolean 不参与任何转换
        boolean bl = true;
        //System.out.println(int(bl));

        int i1 = 22;
        int i2 = 10;
        System.out.println("i1/i2=" + (double)i1/i2);
    }
}



